package com.tjec.project.businessWorkbench.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.tjec.framework.aspectj.lang.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.tjec.framework.web.domain.BaseEntity;
import com.tjec.project.businessWorkbench.dto.BmsAttachmentDto;
import com.tjec.project.system.domain.BmsAttachment;

import io.swagger.annotations.ApiModelProperty;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 收资管理对象 bms_business_pickup
 * 
 * @author pangyongfeng
 * @date 2020-04-24
 */
public class BmsBusinessPickup extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id 主键 */
	@ApiModelProperty(value = "主键")
	@JsonIgnore
    private String id;
	
	@ApiModelProperty(value = "文件名称")
    private String searchFileName;
    
    /** 业务ID 业务ID */
	@ApiModelProperty(value = "业务类别id")
    private String businessId;

    @ApiModelProperty(value = "业务名称")
    private String businessName;

    /** 收资内容 */
    @Excel(name = "收资内容")
	@ApiModelProperty(value = "收资内容")
    private String name;

    /** 最迟收资日期 最迟收资日期 */
    @ApiModelProperty(value = "最迟收资日期")
	@JsonFormat(pattern = "yyyy-MM-dd")
    private Date lastDate;

    /** 收资日期 */
	@ApiModelProperty(value = "收资日期")
	@JsonFormat(pattern = "yyyy-MM-dd")
    private Date pickUpDate;

    /** guid */
	@ApiModelProperty(value = "guid")
    private String guid;

    /** 收资人 */
	@ApiModelProperty(value = "收资人")
    private String pickUpPerson;
	
	/** 收资说明 */
	@ApiModelProperty(value = "收资说明")
    private String pickUpExplain;
	
	/** 调研情况 */
	@ApiModelProperty(value = "调研情况")
    private String inveSurvey;
	
	
	public String getPickUpExplain() {
		return pickUpExplain;
	}

	public void setPickUpExplain(String pickUpExplain) {
		this.pickUpExplain = pickUpExplain;
	}

	public String getInveSurvey() {
		return inveSurvey;
	}

	public void setInveSurvey(String inveSurvey) {
		this.inveSurvey = inveSurvey;
	}

	/*
	 * 项目文档使用：0:不可更新，1:显示更新
	 */
	private String type;
	
	private String docBeginTime;
	
	private String docEndTime;
    
    public String getSearchFileName() {
		return searchFileName;
	}

	public void setSearchFileName(String searchFileName) {
		this.searchFileName = searchFileName;
	}

	public String getDocBeginTime() {
		return docBeginTime;
	}

	public void setDocBeginTime(String docBeginTime) {
		this.docBeginTime = docBeginTime;
	}

	public String getDocEndTime() {
		return docEndTime;
	}

	public void setDocEndTime(String docEndTime) {
		this.docEndTime = docEndTime;
	}

	@ApiModelProperty(value = "附件id数组")
    private ArrayList<String> attachmentIds;
    
    private String flag;
    
    /** 附件对象 */
    private List<BmsAttachmentDto> attachments;

    /**
     * 文件数量
     */
    private Integer counts;

    public Integer getCounts() {
        return counts;
    }

    public void setCounts(Integer counts) {
        this.counts = counts;
    }

    public String getBusinessName() {
        return businessName;
    }

    public void setBusinessName(String businessName) {
        this.businessName = businessName;
    }

    public ArrayList<String> getAttachmentIds() {
		return attachmentIds;
	}

	public void setAttachmentIds(ArrayList<String> attachmentIds) {
		this.attachmentIds = attachmentIds;
	}

	public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setBusinessId(String businessId) 
    {
        this.businessId = businessId;
    }

    public String getBusinessId() 
    {
        return businessId;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setLastDate(Date lastDate) 
    {
        this.lastDate = lastDate;
    }

    public Date getLastDate() 
    {
        return lastDate;
    }
    public void setPickUpDate(Date pickUpDate) 
    {
        this.pickUpDate = pickUpDate;
    }

    public Date getPickUpDate() 
    {
        return pickUpDate;
    }
    public void setGuid(String guid) 
    {
        this.guid = guid;
    }

    public String getGuid() 
    {
        return guid;
    }
    public void setPickUpPerson(String pickUpPerson) 
    {
        this.pickUpPerson = pickUpPerson;
    }

    public String getPickUpPerson() 
    {
        return pickUpPerson;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("businessId", getBusinessId())
            .append("name", getName())
            .append("lastDate", getLastDate())
            .append("pickUpDate", getPickUpDate())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("guid", getGuid())
            .append("pickUpPerson", getPickUpPerson())
            .append("attachmentIds", getAttachmentIds())
            .append("flag", getFlag())
            .append("type", getType())
            .append("docBeginTime", getDocBeginTime())
            .append("DocEndTime", getDocEndTime())
            .append("pickUpExplain", getPickUpExplain())
            .append("inveSurvey", getInveSurvey())
            .toString();
    }

	public List<BmsAttachmentDto> getAttachments() {
		return attachments;
	}

	public void setAttachments(List<BmsAttachmentDto> attachments) {
		this.attachments = attachments;
	}

	public String getFlag() {
		return flag;
	}

	public void setFlag(String flag) {
		this.flag = flag;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}
}
